package com.mrjy.maintain.dao;

import java.util.List;

import com.mrjy.common.entity.MessageInfo;
import com.mrjy.common.entity.QuestionComment;
import com.mrjy.common.entity.UserMemberInfo;

public interface IMessageInfoDao {

	/**
	 * 根据主键查询 
	 * @param messageInfo  （user_id,id）
	 * @return
	 */
	public MessageInfo selectByPrimaryKey(MessageInfo messageInfo);
	
	/**
	 * 删除
	 * @param id
	 * @return
	 */
	public int deleteByPrimaryKey(int id);
	
	/**
	 * 插入消息
	 * @param messageInfo
	 * @return
	 */
	public int insert(MessageInfo messageInfo);
	
	/**
	 * 选择性插入内容
	 * @param messageInfo
	 * @return
	 */
	public int insertSelective(MessageInfo messageInfo);
	
	public int updateByPrimaryKey(MessageInfo messageInfo);
	
	/**
	 * 选择性更新消息
	 * @param messageInfo
	 * @return
	 */
	public int updateByPrimaryKeySelective(MessageInfo messageInfo);
	/**
	 * 根据用户查询未读消息
	 * @param userId
	 * @return
	 */
	public List<MessageInfo> selectUnreadListByPrimaryKey(int userId);
	
	/**
	 * 根据用户查询已读消息
	 * @param userId
	 * @return
	 */
	public List<MessageInfo> selectReadListByPrimaryKey(int userId);
	
	/**
	 * 获取所有消息
	 * @param MessageInfo messageInfo
	 * @return
	 */
	public List<MessageInfo> selectListByPrimaryKey(MessageInfo messageInfo);
	
	/**
	 * 获取最近一周所有消息
	 * @param MessageInfo messageInfo
	 * @return
	 */
	public List<MessageInfo> queryMsgList(MessageInfo messageInfo);
	
	/**
	 * 批量插入
	 * @param messageInfos
	 * @return
	 */
	public int insertBatch(List<MessageInfo> messageInfos);
	/**
	 * 通过userId查询未读条数
	 * @param userId
	 * @return
	 */
	public int selectNotReadMsgCountByUserId(Integer userId); 

	public List<MessageInfo> queryPageMessageByUserId(MessageInfo info);

	public int updateCommentStatusBatch(QuestionComment comment);

	public int updateGoodStatusBatch(QuestionComment comment);
	
}
